home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / util / crypt / login1091.lha / login.doc next >
Text File  |  1993-01-06  |  20KB  |  529 lines

  1. LOGIN (1)                  Local Tools                  LOGIN (1)
  2.  
  3.  
  4.  
  5. NAME    NAME  
  6.      login, passwd, chsh, chfn, finger, last, nu 
  7.          - user/password tools 
  8.  
  9. SYNOPSIS    SYNOPSIS  
  10.      login  [-t dimtime] [-T blanktime] [-l [0]] 
  11.          [-w [0]] [-c [0]] [-i [0]] [-h [0]] 
  12.          [-r restrictions] [-d dimfactor] [hostname] 
  13.      passwd  [user] 
  14.      chsh  [user] 
  15.      chfn  [user] 
  16.      finger  user 
  17.      last  [user] 
  18.      nu  
  19.  
  20. DESCRIPTION    DESCRIPTION  
  21.      These  tools  control  who  may  have  access  to  your
  22.      computer both on console and over a serial  line  shell
  23.      (TTY).   Logins   are   restricted   by   the   program
  24.      login. The other programs are for use by  users
  25.      and  by  the  system  maintainer  (known as "root") for
  26.      changing the characteristics of  a  user's  environment
  27.      and for   adding   allowed  users.    Restrictions  are
  28.      accomplished by requiring a  password  for  each  valid
  29.      user;  users  can  have unique passwords, and passwords
  30.      are encrypted so as to keep one user's password unknown 
  31.      to others.  The user database is contained in the  file
  32.      etc:passwd,  in  a  format  almost identical to
  33.      that of the Unix /etc/passwd file.   Each  user
  34.      can  have  a  customized  environment including private
  35.      name, home directory, and shell.  The initialization of 
  36.      the user's environment is performed  by  means  of  the
  37.      environment  variables  USERHOME, and
  38.      SHELL,   respectively;    see    the    section
  39.      ENVIRONMENT below for details.  
  40.  
  41.      Following is documentation on the individual programs: 
  42.  
  43.      login  
  44.      login  is  the actual user-access control tool.
  45.      It can operate either on console (with a custom  screen
  46.      and  window)  or  on  a  shell/TTY  (with "login: " and
  47.      "Password:" prompts).  The former  resembles  the  NeXT
  48.      login screen; the latter is like remote login to a Unix 
  49.      machine.  
  50.  
  51.      login  in  console  mode  opens  a  screen  and
  52.      displays a window containing a host identifier name and 
  53.      two string gadgets.  The host name  is  read  from  the
  54.      command   line,   or   from  the  environment  variable
  55.      HOSTNAME if no name is  given  on  the  command
  56.      line.   The  gadgets are for entering a user name and a
  57.      password, respectively.   All  text  is  shown  in  the
  58.      Helvetica font.    For interlaced screens, Helvetica-18
  59.      is used;  for  noninterlaced  screens,  Helvetica-9  is
  60.      used.   Both  sizes are supplied in the AmigaDOS system
  61.      software package.  Supplied here are the nofont-18  and
  62.      nofont-9  fonts,  which  are  used  exclusively for the
  63.  
  64.  
  65. AmigaDOS Local       Last Change: 06-Jan-93                     1
  66.  
  67. LOGIN (1)                  Local Tools                  LOGIN (1)
  68.  
  69.  
  70.      password gadget.    Nofont  displays  nothing  for  any
  71.      character, so  the  password  text  is  invisible.   If
  72.      either of these fonts is  unavailable  to  the  system,
  73.      login uses the ROM-based Topaz-8 font instead.  
  74.  
  75.      The  screen opened by login is of the same size
  76.      as your Workbench screen, as obtained from Preferences. 
  77.      If Preferences are not available, a size of 640x400  is
  78.      used.   This  can  be  modified with the -h and
  79.      -i options: 
  80.          -h0 opens  a  low-resolution  screen  (320+
  81.      across); 
  82.          -h1  opens  a  high-resolution screen (640+
  83.      across); 
  84.          -i0  opens  a  non-interlace  screen  (200+
  85.      down); 
  86.          -i1 opens an interlace screen (400+ down).  
  87.      The '+' refers to the fact that the default Preferences 
  88.      screen  size  is  either  maintained  or  halved;  thus
  89.      opening a 700x520 Prefs  screen  with  -h0  -i0
  90.      actually  creates a screen of size 350x260. This screen
  91.      sizing is performed so that the login window, which  is
  92.      always  320  or 640 pixels across and 200 or 400 pixels
  93.      down, will always be centered on your monitor (assuming 
  94.      that you have previously configured your Preferences to 
  95.      center the screen).  Note that if interlace  is  turned
  96.      off,  Helvetica-9  and nofont-9 become the defaults for
  97.      text display.  You should have all four fonts  in  your
  98.      FONTS: directory.  
  99.  
  100.      The  colors of the login screen are defined by the file
  101.      etc:palette.ilbm.  This  is  a   standard   2.0
  102.      Preferences palette  file.    You  can also create this
  103.      file by naming any IFF picture, such as one created  by
  104.      Deluxe  Paint,  as  etc:palette.ilbm. The first
  105.      four colors in the file's CMAP (ColorMAP) chunk  define
  106.      the  colors  used  for login's screen; load the
  107.      supplied etc:palette.ilbm into an image  editor
  108.      or  your  Preferences/Palette to see how the colors are
  109.      arranged.   Also,  if   your   etc:palette.ilbm
  110.      contains  a  CAMG  chunk,  as  do  all  DPaint  images,
  111.      login  reads  the  default  screen   parameters
  112.      (i.e.,  high/low-resolution,  [non]interlace) from this
  113.      file instead of from Preferences. The  screen  mode  is
  114.      still subject to the -h and -i options, 
  115.      however.  
  116.  
  117.      Once  the  login  screen  appears,  login takes
  118.      control of the user's access to the display by  pushing
  119.      its  screen in front of all other screens ten times per
  120.      second.  This behavior is terminated only when a  valid
  121.      username  and  password  are  entered into the gadgets,
  122.      whereupon  the  screen  closes  and   the   environment
  123.      variables NAMEUSERHOME, and 
  124.      SHELL are defined.  See the ENVIRONMENT section 
  125.      for information on how to make use of these variables.  
  126.  
  127.      While  the  login  screen  is  up,  input  devices  are
  128.      monitored  and  actions  are  taken  based  on   what's
  129.  
  130.  
  131. AmigaDOS Local       Last Change: 06-Jan-93                     2
  132.  
  133. LOGIN (1)                  Local Tools                  LOGIN (1)
  134.  
  135.  
  136.      happened lately.    If  there  is  absolutely  no mouse
  137.      movement or  keyboard  input  for  180  seconds  (three
  138.      minutes),  the  screen will dim to 1/6 brightness until
  139.      such input is received.  If no input  is  received  for
  140.      3600  seconds  (ten  minutes),  the  screen  is blanked
  141.      entirely.   These  times  can  be  redefined  with  the
  142.      -t  and -T options on the command line;
  143.      for example,  -t30  -T1800  causes  dimming  to
  144.      occur after 30 seconds and full blanking to occur after 
  145.      five minutes.    If  a  value  of  0 is used for either
  146.      option, that type of blanking will be  disabled.    The
  147.      brightness  of the dimmed screen can be configured with
  148.      the -b option; for  example,  -b4  will
  149.      cause the screen to dim to only 1/4 brightness.  
  150.  
  151.      The  -w  option causes login to attempt
  152.      to close the Workbench screen.  This is not  necessary,
  153.      since  login  pops  its  screen  to  front each
  154.      tenth/second, but it might make you feel better.   Note
  155.      that  Workbench  can  be  closed  only  if there are no
  156.      windows owned by other programs on the WB screen and if 
  157.      login was  not  launched  by  Workbench.  Using
  158.      -w0  has  no  effect;  login  will  not
  159.      attempt to close Workbench.  
  160.  
  161.      The -c option forces login to  use  the
  162.      console  display,  as  does  using either -h or
  163.      -i.  If  none  of  these  options   are   used,
  164.      login runs in TTY mode.  
  165.  
  166.      login's TTY mode operates very similarly to the 
  167.      login sequence  on  Unix  machines.    An example login
  168.      sequence follows: 
  169.  
  170.      AmigaDOS 37.132 (MyKickstart) 04-Jun-92 
  171.  
  172.      login: dgc3 
  173.      Password: 
  174.      User dgc3 logged in.  
  175.  
  176.      The login: and  Password:  prompts  are
  177.      simple  text-entry  prompts;  the user should enter his
  178.      user name and unencrypted password here.  The  user  is
  179.      allowed  three attempts to enter a correct combination.
  180.      Once a  correct  combination  is  given,  login
  181.      terminates  with  a  return  code  of  0.  If all three
  182.      attempts are invalid, login fails with a return code of 
  183.      20. This is sufficient to halt a  shell  script  which,
  184.      for  example,  allows  connections  over a serial line.
  185.      When writing such scripts, be sure to check for  return
  186.      codes,  or  even a failed login attempt will permit the
  187.      login to continue.  
  188.  
  189.      The introductory banner is generated  acording  to  the
  190.      template: 
  191.  
  192.      AmigaDOS VERSION (KERNELNAME) DATE 
  193.  
  194.      VERSION  is  found  by querying the host's Exec.library
  195.  
  196.  
  197. AmigaDOS Local       Last Change: 06-Jan-93                     3
  198.  
  199. LOGIN (1)                  Local Tools                  LOGIN (1)
  200.  
  201.  
  202.      base and finding the current OS revison.    (Note  that
  203.      login  requires  a  version of 36 or greater in
  204.      order to function.) KERNELNAME is  found  by  examining
  205.      the file devs:Kickstart. This file contains the 
  206.      operating  system  on the earlier, soft-booting A3000s.
  207.      If devs:Kickstart  is  not  found,  the  string
  208.      Kickstart is    used    by    default.       If
  209.      devs:Kickstart  is  found,  the  KERNELNAME  is
  210.      copied  from  the  first  NULL-  or  NEWLINE-terminated
  211.      string    beginning    at    offset    49    of     the
  212.      devs:Kickstart file.    If  you like to hack on
  213.      your Kickstart, as I do,  you  can  alter  this  string
  214.      safely  and  cause login to display the name of
  215.      your customized  Kickstart.    The   kernel   name   is
  216.      terminated  after  a  NULL (0x00) or NEWLINE (0x0A), or
  217.      after 40 characters.  The DATE string is  the  date  of
  218.      installation     or    of    last    modification    of
  219.      devs:Kickstart; if devs:Kickstart  does
  220.      not  exist, it is the last date of modification of your
  221.      s:Startup-Sequence file.  
  222.  
  223.      The -l option controls login's  logging
  224.      facility.   When  this  is  active (by using the option
  225.      -l  or  -l1),  successful  logins   are
  226.      appended to the file etc:wtmp, and failed login 
  227.      attempts   are   appended   to  etc:utmp.  When
  228.      operating in  TTY  mode,  only  the  third  attempt  is
  229.      logged.   (I  know  these are improper uses of the Unix
  230.      wtmp and utmp filenames, but it makes little difference 
  231.      here and I'm not administrator-capable enough  to  know
  232.      what's correct.) 
  233.  
  234.      The  -r  option  defines  user restrictions for
  235.      this invocation of login. For example,  if  you
  236.      use the command 
  237.  
  238.          login -c -rroot 
  239.  
  240.      only  the  user root will be allowed to log in.
  241.      Similarly, 
  242.  
  243.          login -c -r$USER 
  244.  
  245.      will make login allow only the current  user  to  login
  246.      again.   Using  this  command  or  one  like  it  makes
  247.      login work like a console lock; only  the  user
  248.      who  runs  the  program  will  be  able to log in, thus
  249.      protecting the current session from all other users.  
  250.  
  251.      login also supports  the  environment  variable
  252.      LOGIN. If no arguments are given on the command 
  253.      line,  they  are  read  instead  from LOGIN. To
  254.      cause login to ignore this variable,  just  use
  255.      any argument.  See your AmigaDOS for information on how 
  256.      to set environment variables.  
  257.  
  258.      I think that's all about login. I'll be sure by 
  259.      the time v1.10 comes out.  
  260.  
  261.  
  262.  
  263. AmigaDOS Local       Last Change: 06-Jan-93                     4
  264.  
  265. LOGIN (1)                  Local Tools                  LOGIN (1)
  266.  
  267.  
  268.      passwd  
  269.      passwd  changes  the  encrypted  password for a
  270.      user.  If no argument is given on the command line,  it
  271.      changes  the  password for the current user as obtained
  272.      from $USER. The user is first prompted for the  current
  273.      password  to  ensure security, then for the desired new
  274.      password.  A third prompt serves to verify that the new 
  275.      password was entered correctly.    All  typed  text  is
  276.      displayed  invisibly  so  as  to  hide  it  from nearby
  277.      onlookers.  
  278.  
  279.      If passwd  is  called  with  an  argument,  the
  280.      argument is taken to be the username to be changed.  
  281.  
  282.          passwd $USER 
  283.  
  284.      is identical in function to merely 
  285.  
  286.          passwd 
  287.  
  288.      When called with a username as argument, passwd 
  289.      allows  either  the  user's  own  password  or the root
  290.      password to be used as authentication; thus,  root  can
  291.      change  any  user's  password,  while  others  can only
  292.      change their own passwords.  
  293.  
  294.  
  295.      chsh  
  296.      chsh  changes  the  default  shell   and   home
  297.      directory   as   listed   in  etc:passwd.  Like
  298.      passwd, it requires the user's password to make 
  299.      a change, and allows the root password  if  a  user  is
  300.      specified on the command line.  
  301.  
  302.  
  303.      chfn  
  304.      chfn  is identical to chsh, except that
  305.      it  changes  the  "Real  Name"  field  of  the   user's
  306.      passwd entry.  
  307.  
  308.  
  309.      finger  
  310.      finger    displays    passwd   database
  311.      information on the named user, similarly  to  the  Unix
  312.      finger command.  
  313.  
  314.  
  315.      last  
  316.      last,  like  its  Unix  counterpart,  lists the
  317.      recorded logins of the named user, or of all  users  if
  318.      no name   is   given.      It  differs  from  the  Unix
  319.      last   in   that   it   displays   logins    in
  320.      chronological,   rather   than  reverse  chronological,
  321.      order.  
  322.  
  323.  
  324.      nu  
  325.      nu allows the root user, or a  user  who  knows
  326.      the root  password,  to  add  a user to the system.  It
  327.  
  328.  
  329. AmigaDOS Local       Last Change: 06-Jan-93                     5
  330.  
  331. LOGIN (1)                  Local Tools                  LOGIN (1)
  332.  
  333.  
  334.      prompts  for  all  fields  of  the   etc:passwd
  335.      database.    Again,   passwords   are  written  to  the
  336.      terminal/shell in invisible type.  
  337.  
  338.  
  339. ENVIRONMENT    ENVIRONMENT  
  340.      The login program, upon successful entry  of  a
  341.      valid   user/password   pair,   creates   the  (global)
  342.      environment   variables   USER,   NAME,
  343.      SHELL,  and  HOME.  These variables can
  344.      then be used by the system  to  customize  the  working
  345.      environment.  For example, by adding the line 
  346.  
  347.          cd $HOME 
  348.  
  349.      to the end of the s:Shell-Startup file, any new 
  350.      shell  will  open in the current user's home directory.
  351.      If your host supports multiple shells,  $SHELL  can  be
  352.      used    to    start    the   user's   preferred   shell
  353.      automatically.  For  example,  a  remote  login  script
  354.      could end with the line 
  355.  
  356.          $SHELL 
  357.  
  358.      to  cause the system to run SKsh, Csh, WShell, NewShell
  359.      (AmigaDOS  default  shell),   or   whatever   else   as
  360.      appropriate.   Note that for some replacement shells an
  361.      AmigaDOS shell must first be created  to  "support"  or
  362.      "run" the  custom  shell.   This can be accomplished by
  363.      defining the etc:passwd shell field to "execute 
  364.      s:Csh-Startup" or something similar.  
  365.  
  366.      Further examples of environment  manipulation  will  be
  367.      available in future distributions of this package.  
  368.  
  369. FILES    FILES  
  370.      etc/passwd ....... The password database 
  371.      etc/palette.ilbm . The custom color/screen preferences 
  372.      etc/bin/* ........ The programs 
  373.      fonts/nofont.font  
  374.      fonts/nofont/9 ...  
  375.      fonts/nofont/18 .. The invisible font for console mode 
  376.      login.man ........ NRoff-formatted documentation 
  377.      login.doc ........ ANSI documentation 
  378.  
  379.      Everything  in  etc/  should  be  copied  to  your etc:
  380.      directory.  You can either have a mounted volume called 
  381.      etc: or ASSIGN the logical device name etc:  somewhere.
  382.      The  stuff  in  fonts/  should be copied to your fonts:
  383.      directory.  
  384.  
  385.      To install login, copy all files as shown, then 
  386.      make     the     following     changes     to      your
  387.      s:Startup-Sequence
  388.      1. Find the line which installs your Preferences. It 
  389.          begins with the word "IPrefs".  
  390.      2. Add these lines after the IPrefs line: 
  391.  
  392.              assign etc: <wherever etc: should be> 
  393.  
  394.  
  395. AmigaDOS Local       Last Change: 06-Jan-93                     6
  396.  
  397. LOGIN (1)                  Local Tools                  LOGIN (1)
  398.  
  399.  
  400.              etc:bin/login -c 
  401.  
  402.      3. Go to wherever you define the shell search path 
  403.          (e.g., s:Shell-Startup) and add the line: 
  404.  
  405.              path etc:bin 
  406.  
  407.      Feel  free  to  add  whatever  options  you like to the
  408.      "etc:bin/login" line in step 2.  
  409.  
  410. SEE ALSO    SEE ALSO  
  411.      Nothing particular.  
  412.  
  413. LIMITATIONS    LIMITATIONS  
  414.      AmigaDOS is simply not secure.  This is not a sure-fire 
  415.      cure for any problems you might be having.  
  416.  
  417. BUGS    BUGS  
  418.      Invisible text is not available  on  all  serial  shell
  419.      handlers.  I haven't actually tested it on any of them, 
  420.      but I'm  told  it  should work with some.  Your handler
  421.      should support raw-mode characters, or  all  text  will
  422.      surely appear.  
  423.  
  424. VERSION    VERSION  
  425.      This  documentation is for version 1.091 of Login. This
  426.      is an enhancement of  Login  v1.00,  and  a  bugfix  to
  427.      version  1.09. Version 1.10 is in development, and will
  428.      add user  font  selection  in  console  mode.    Future
  429.      versions  may  feature  customizable  imagery  for  the
  430.      console, among other nifty things.  
  431.  
  432.      This version is being released now  because  it's  been
  433.      too long  since  version  1.00 was released.  Due to my
  434.      previous choice of  compiler,  version  1.00  contained
  435.      code  which  prevented any of the programs from running
  436.      on Amigas with 68000 or 68010  processors.    This  and
  437.      future  versions  are and will be compiled correctly by
  438.      smarter compilers.    Version  1.09   was   prematurely
  439.      released  earlier  today;  bugs  fixed in version 1.091
  440.      include: 
  441.          1. login screen is no longer "draggable" 
  442.          2. all programs now deal correctly with null 
  443.             passwords 
  444.          3. version info corrected 
  445.      If you somehow got version 1.09, please replace it with 
  446.      this release.  
  447.  
  448.      This version should be bug-free; my testers reported no 
  449.      actual  problems  with  beta-versions  of  v1.10  which
  450.      contained all  the same code plus font selection.  Font
  451.      selection itself is not currently working quite  right,
  452.      so all related code was removed from this release.  
  453.  
  454. WARRANTY    WARRANTY  
  455.      Warranty?  This ain't Sears-Roebuck.  
  456.  
  457.      Money-back guarantee: If you send me money, I guarantee 
  458.      I won't  send  it back.  Otherwise, I guarantee I don't
  459.  
  460.  
  461. AmigaDOS Local       Last Change: 06-Jan-93                     7
  462.  
  463. LOGIN (1)                  Local Tools                  LOGIN (1)
  464.  
  465.  
  466.      mind.  
  467.  
  468.      Ask about our Aquatic Pets Special Offer.  
  469.  
  470. AUTHOR    AUTHOR  
  471.      David Champion 
  472.      951 E. 54th Place #3 
  473.      Chicago, IL 60615 
  474.      U.S.A.  
  475.  
  476.      Internet: dgc3@midway.uchicago.edu 
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527. AmigaDOS Local       Last Change: 06-Jan-93                     8
  528.  
  529.